name: Build PR documentation

on:
  pull_request:
    branches: [ main ]

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

jobs:
  build_documentation:
    runs-on: ubuntu-latest
    env:
      COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
      PR_NUMBER: ${{ github.event.number }}
      EVENT_CONTEXT: ${{ toJSON(github.event) }}
      PR_CLONE_URL: ${{ github.event.pull_request.head.repo.clone_url }}

    steps:
      - uses: actions/checkout@v2
        with:
          repository: 'huggingface/doc-builder'
          path: doc-builder

      - uses: actions/checkout@v2
        with:
          repository: 'huggingface/optimum-intel'
          path: optimum-intel

      - name: Setup environment
        run: |
          pip uninstall -y doc-builder
          cd doc-builder
          git pull origin main
          pip install .
          pip install black
          cd ..

      - name: Make documentation
        run: |
          cd optimum-intel
          make doc BUILD_DIR=intel-doc-build VERSION=pr_$PR_NUMBER COMMIT_SHA_SUBPACKAGE=$COMMIT_SHA CLONE_URL=$PR_CLONE_URL
          cd ..

      - name: Save commit_sha & pr_number
        run: |
          cd optimum-intel
          sudo chmod -R ugo+rwx intel-doc-build
          cd intel-doc-build
          sudo mv optimum.intel optimum-intel
          echo ${{ env.COMMIT_SHA }} > ./commit_sha
          echo ${{ env.PR_NUMBER }} > ./pr_number

      - uses: actions/upload-artifact@v3
        with:
          name: doc-build-artifact
          path: optimum-intel/intel-doc-build/
